// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLLimit;
// import com.alibaba.druid.sql.ast.SQLOrderBy;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../SQLStatementImpl.h"
#include "SQLShowStatement.h"

class SQLShowProcessListStatement : virtual public SQLStatementImpl, virtual public SQLShowStatement
{
public:
  BOOL_ptr mpp;
  SQLExpr_ptr where;
  SQLOrderBy_ptr orderBy;
  SQLLimit_ptr limit;
  BOOL_ptr full;

  SHAREDOBJECT(SQLShowProcessListStatement);
  BOOL_ptr isMpp();

  void setMpp(BOOL_ptr mpp);

  BOOL_ptr isFull();

  void setFull(BOOL_ptr full);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  SQLExpr_ptr getWhere();

  void setWhere(SQLExpr_ptr x);

  SQLOrderBy_ptr getOrderBy();

  void setOrderBy(SQLOrderBy_ptr x);

  SQLLimit_ptr getLimit();

  void setLimit(SQLLimit_ptr x);
};
